Proxy file pointer method for redirecting access for incompatible file formats

ABSTRACT

A media file playback system, method and computer readable medium which provides for the playback of a media file (e.g., audio files, video files, etc.) through a separate media organizer (e.g., Apple&#39;s iTunes®, Windows® Media Player, etc.) when the target media file is in a format that is incompatible with the media organizer (e.g., the Free Audio Lossless Codec files or FLAC format). The media file playback system generates a “proxy” pointer file that is compatible with the media organizer and prompts the system to play the incompatible media file. Advantageously, a user that would otherwise be unable to playback an incompatible file through the media organizer due to limitations of the media organizer (e.g., the restriction against playing FLAC files through the Apple iTunes® software application), is able to execute playback using the media file playback system via interactions with the familiar and centralized interface provided the media organizer.

CROSS-REFERENCE TO RELATED APPLICATION

This application claims the benefit of U.S. Provisional Application No.61/427,520, titled “Proxy File Pointer Method for Redirecting Access forIncompatible File Formats”, filed on Dec. 28, 2010. U.S. ProvisionalApplication No. 61/427,520 is hereby incorporated by reference herein.

FIELD OF THE INVENTION

The present invention relates generally to a computer-based mediaplayback method and system which use hard drives or other storagedevices (e.g., solid state storage) for storing media files. Suchsystems use dedicated software (e.g., Apple's iTunes®, Windows® MediaPlayer) to access the media files. In the case of media file thatcontain audio (an “audio file”), the dedicated software converts digitalinformation stored in the audio file to an analog format which can thenbe amplified and heard through loud speakers or headphones.

BACKGROUND OF THE INVENTION

Many file formats exist for storing media files. Popular media play-backsoftware such as Apple Inc.'s iTunes® and Windows® Media Player canrecognize and decode many of the most common file formats. For example,uncompressed digital audio files can be stored in the “WAVE” file formatwhich can be read and decoded by iTunes® and Windows® Media Player.Since they are uncompressed, WAVE files take up a great deal of space ona computer's storage media. The MP3 file is another popular file formatthat allows for compressed digital audio files which occupy less spaceon a computer's storage media. However, one drawback of compressed audiofile formats such as MP3 is that resulting sound quality is compromised.

A number of “lossless” compressed audio file formats have emerged toaddress the audio degradation problems commonly associated with othercompressed file formats such as MP3 and WMA. One such lossless fileformat is FLAC, which stands for Free Lossless Audio Codec. FLAC islikely the most widely used file format for digital storage anddistribution of high quality audio, and is used extensively bycommercial music download services selling high resolution music (24bit, 88.2 kHz or higher sample rate). However, wider use of the FLACfile format is limited by the fact that Apple's iTunes® (one of the mostpopular digital media players available) is not capable of decoding FLACfiles to allow playback. iTunes® inability to play FLAC files may be dueto the fact that Apple offers a competing lossless file format called“Apple Lossless.”

Current methods of circumventing iTunes' inability to play FLAC involveconverting the audio file to other file formats that iTunes canrecognize. These methods are disadvantageous because the file conversionrepresents a significant inconvenience to the user, and requiressignificant extra storage space (if the original is archived).

Therefore a need exists in the art for playing and integratingincompatible media file types (such as FLAC files) with commerciallyavailable media playback software that offers ease of use.

SUMMARY OF THE INVENTION

The present application describes embodiments of a media file playbacksystem, method and computer readable medium (herein the “media playbacksystem”) which provides for the playback (or execution) of a media file(e.g., audio files, video files, etc.) through a separate mediaorganizer (e.g., Apple's iTunes® and Windows® Media Player) when thedesired/target media file is in a format that is incompatible with themedia organizer (e.g., the Free Audio Lossless Codec files or FLACformat). Advantageously, the media player of the present invention isconfigured to allow a user to utilize the familiar interface of anexisting (but limited) media organizer to execute the playback of amedia file which is otherwise incompatible with the media organizer.

According to embodiments of the present invention, the media player ofthe present invention is configured to generate and utilize a “proxy”pointer file that is compatible with the media organizer and the mediaplayback system and automatically prompts the media playback system toplay the media file that is incompatible with the media organizer(herein the “incompatible file”). In this regard, a user that wouldotherwise be unable to playback an incompatible file through the mediaorganizer due to limitations of the media organizer (e.g., therestriction against playing Free Audio Lossless Codec (FLAC) filesthrough the Apple iTunes® software application), is able to execute thatplayback using the media playback software via interactions through thefamiliar and centralized interface provided the media organizer.Although embodiments of the present invention are described with a focusprimarily on a system and method for playing FLAC or other media formatfiles in conjunction with Apple's iTunes® software application, one ofordinary skill in the art will recognize that the media playback systemdisclosed herein is suitable for use with a variety of media files(e.g., audio, video) and a variety of media organizers like AppleiTunes®.

The media playback system is a computer-based system comprising harddrives or other storage devices (e.g., solid state storage) for storingthe media files. The media playback system is configured to utilizeseparate, dedicated software (e.g., Apple's iTunes®, Windows® MediaPlayer) to access the media files. In the case of a media files thatcontain audio (an “audio file”), the media playback system convertsdigital information stored in the audio file to an analog format whichcan then be amplified and heard through loud speakers or headphones.

The media playback system overcomes the current problems associated withusing FLAC files (or other incompatible media file formats) in popularsoftware for playing digital files. According to an embodiment of thepresent invention, the media playback system represents a stand-alonemedia player application configured to communicate or link with Apple'siTunes® via a high level communication protocol known as AppleScript.The media playback system is capable of decoding and playing FLAC files(or other incompatible file formats). A proxy file is generated that iscompatible with the media organizer (i.e., iTunes®) and containsinformation related to the digital media (e.g., music) contained in themedia file (e.g., artist, album, song name, audio or media file format,duration), herein referred to as “proxy file information”). The mediaorganizer (iTunes®) recognizes the proxy file as a compatible fileformat and builds the proxy file into the media organizer's databasewhich allows a user to view and interact with the media file in his orher media organizer library (e.g., the iTunes® music library). When auser instructs the media organizer to play/execute the proxy file byinteracting with the associated listing in the iTunes® library (the“track listing”), the media playback system detects this action and isconfigured to play the desired media file.

Embodiments of the present invention advantageously leverage thecomputer user's familiarity with the highly popular iTunes® userinterface, instead of needing to learn to use another music playersoftware package. In this regard, iTunes® acts as a database, playlistorganizer, etc. but does not actually play the media file. Features ofthe media playback system can then can be customized to appeal tospecialized market segments, to include features not included (and notlikely to ever be included) in the iTunes® software, such as automaticsample rate switching, memory play, electronic crossover, audio signalprocessing plug-ins, dithered volume control, and high resolutionstreaming audio, by way of example and not limitation.

BRIEF DESCRIPTION OF THE DRAWINGS

The present invention will be more readily understood from the detaileddescription of exemplary embodiments presented below considered inconjunction with the attached drawings, of which:

FIG. 1 illustrates a schematic and process flow diagram comprising amedia playback system in an exemplary operating environment comprising amedia organizer and storage media, according to embodiments of thepresent invention;

FIG. 2 illustrates an exemplary process flow for generating a proxyfile, according to one or more embodiments of the present invention;

FIG. 3 illustrates a schematic and process flow diagram comprising amedia playback system configured to generate a plurality of proxy files,each associated with an individual track of a media file, according toone or more embodiments of the present invention;

FIG. 4 illustrates an exemplary process flow for generating a pluralityof proxy files, each associated with an individual track of a mediafile, according to embodiments of the present invention;

FIG. 5 illustrates an exemplary process flow illustrating operation of amedia playback system in response to a user interaction with a mediaorganizer to execute playback of a media file, according to embodimentsof the present invention;

FIG. 6 illustrates an exemplary library of incompatible media files,according to one or more embodiments of the present invention;

FIG. 7 illustrates an example wherein a user interacts with a mediaorganizer and a proxy creation window to initiate the incorporation ofone or more incompatible media files into the media organizer as one ormore proxy files, according to one or more embodiments of the presentinvention;

FIG. 8 illustrates a listing of generated proxy files corresponding toassociated incompatible media files; according to embodiments of thepresent invention; and

FIG. 9 illustrates exemplary proxy files organized and displayed in amedia organizer, according to embodiments of the present invention.

It is to be understood that the attached drawings are for purposes ofillustrating the concepts of the invention and may not be to scale.

DETAILED DESCRIPTION OF THE INVENTION

The present invention relates to a media playback system and method (the“Media Playback System”) for playing a digital media file (“media file”)using a first application (the “Media Organizer”), wherein the mediafile cannot be played by the media organizer due to file formatincompatibility (the “incompatible file”). The Media Playback System isconfigured to generate a separate proxy file or group of files (“proxyfile(s)”) based on the underlying incompatible media file. The proxyfile is compatible with the Media Organizer and can be incorporated intothe Media Organizer's database. The proxy file is associated with theincompatible file and contains proxy file information about theunderlying media file. The proxy file information may include, but isnot limited to, a duration of the content (e.g., song and/or video), atitle of the content, artist/publisher/author information,album/movie/clip information (for example, in the case of the media filebeing an audio music track), etc.

According to an embodiment of the present invention, as shown in FIG. 1,the Media Playback System 10 comprises computer executable instructionsexecuted and processed by one or more computer modules or computers. TheMedia Playback System 10 and its components are configured to performthe various functions, actions, and steps described in detail herein,according to embodiments of the present invention. As used herein, theterm “computer module” or “computer” is intended to include any dataprocessing device, such as a desktop computer, a laptop computer, amainframe computer, a personal digital assistant, a server, or any otherdevice able to process, manage or transmit data, whether implementedwith electrical, magnetic, optical, biological components or otherwise.One having ordinary skill in the art will appreciate that any number ofcomputers and/or software modules may be utilized in implementing themedia playback system according to the present invention.

According to embodiments of the present invention, the media playbacksystem may be implemented using a computer including memory resourcescoupled to a processor via a bus. The memory resource can include, butis not limited to, random access memory (RAM), read only memory (ROM),and/or other storage media capable of storing computer executableinstructions, e.g., program instructions, that can be executed by theprocessor to perform various embodiments of the present disclosure. Thememory resource instructions may store computer executable instructionseither permanently or temporarily.

As used herein, the term “software” or “computer executableinstructions” refers to instructions that may be performed by aprocessor and/or other suitable components. The term “storage media” canincludes various storage media that can be used to store computerexecutable instructions. Storage media can include non-volatile mediaand/or volatile media, among other types of media and can be in the formof magnetic media, optical media, and/or physical media, among others.Some examples include hard disks, floppy disks, CD ROMs, DVDs, and Flashmemory. Embodiments of the present disclosure are not limited to aparticular type of storage media.

According to embodiments of the present invention, the one or morecomputers may be coupled to a display. The display can be a liquidcrystal display (LCD) monitor or a cathode ray tube (CRT), or any otherdisplay type capable of displaying information to a user.

According to embodiments of the present invention, the one or morecomputers may be coupled to one or more input devices, including, butnot limited to a keyboard, voice activated system, touch screen system,and/or mouse, among various other input devices.

According to embodiments of the present invention, the one or morecomputers include a communication interface configured to provide datacommunication coupling between the one or more computers and anycommunicatively connected components, such as a network, other computingdevices, e.g., client and/or server devices, storage media, and thelike. As used herein, the term communicatively connected is intended toinclude any type of connection, whether wired or wireless, in which datamay be communicated. Furthermore, the term “communicatively connected”is intended to include a connection between devices and/or programswithin a single computer or between devices and/or programs on separatecomputers. As a non-limiting example, the communication interface can bean integrated services digital network (ISDN) card or a modem used toprovide a data communication connection to a corresponding type oftelephone line. The communication interface can also be a LAN card usedto provide a data communication connection to a compatible LAN. Theinterface can also be a wireless link used to send and receive varioustypes of information.

Although specific embodiments have been illustrated and describedherein, those of ordinary skill in the art will appreciate that anarrangement configured to achieve the same results can be substitutedfor the specific embodiments shown. This disclosure is intended to coveradaptations or variations of various embodiments of the presentdisclosure. It is to be understood that the above description has beenmade in an illustrative fashion, and not a restrictive one. Combinationsof the described embodiments, and other embodiments not specificallydescribed herein will be apparent to those of skill in the art uponreviewing the description below.

According to an embodiment of the present invention, the proxy file doesnot contain the original digital program content (e.g., the actual musicand/or video) but instead comprises a silent or null data block (i.e.,silence in the case of an audio file or a blank video block in the caseof video media), or a compressed, low fidelity version of the original(i.e., a compressed data block).

The Media Organizer is configured to open and execute (play) the proxyfile generated by the Media Playback System 10 since the proxy file isin a format that is compatible with the Media Organizer. According to anembodiment of the present invention, when a user directs the MediaOrganizer to play the proxy file via an interaction (e.g., clicking onthe selected file name) with the proxy file via a library/interfaceassociated with the Media Organizer, the Media Playback System 10 pollsthe Media Organizer for state information including, but not limited to,the proxy file information. The Media Playback System 10 also optionallymay direct the Media Organizer to stop playing the file at this time, orlater. Based on information obtained from the Media Organizer, the MediaPlayback System 10 determines whether the file being played by the MediaOrganizer is a proxy file. The Media Playback System 10 can alsodetermine where the proxy file and associated media file are physicallylocated, which could be the local computer hard drive or on a remotenetwork. For example, this could be determined by the relative positionof proxy file and media file in a file organization hierarchy, which mayor may not be predetermined by the design of the Media Playback System10, or through location information such as a file path, directoryreference or URL or other type of tag information embedded in orassociated with (such as in a separate “sidecar” or other catalog file)the proxy file. Once the Media Playback System 10 determines that theMedia Organizer is executing a proxy file, the Media Playback System 10directly opens and plays the media file associated with the selectedproxy file thus allowing the user to access the program contentcontained in the original media file (which is compatible with the mediafile).

According to an embodiment of the present invention and referring toFIG. 1, a Media File (in the illustrated example, an audio file such asa FLAC file denoted as “Media File 2”) that is incompatible with theMedia Organizer is loaded into the Media Playback System 10. Accordingto one or more embodiments of the present invention, the Media PlaybackSystem 10 is configured to recognize and play file formats compatiblewith the Media Organizer, as well as incompatible formats byincorporating a corresponding proxy file into the Media Organizer. TheMedia Playback System 10 loads all media files for playback usingsimilar techniques, regardless of the format (i.e., whether directed bythe Media Organizer to a compatible format or directed by the MediaOrganizer to a proxy file). The Media Playback System 10 recognizes thefile being played back and loads the original media file. One havingordinary skill in the art will appreciate that “loading” the file mayinclude, but is not limited to, generating an operating system filereference number through standard programming interface system calls andopening the file for reading or writing as needed, or proceeding furtherand physically loading portions of or the entire file into random accessmemory for playback, for which the audio is streamed or transmitted toan audio interface or digital to analog converter.

In the illustrated example, Media File 2 is not compatible with theplayer associated with the Media Organizer and thus the Media Organizercannot directly execute, play, and/or read Media File 2. Moreover, theMedia Files referred to in FIG. 1 are incompatible with the MediaOrganizer and cannot be loaded directly into the Media Organizer library(i.e., track list/database).

According to an embodiment of the present invention, with reference toFIG. 2, Media Files are examined by the Media Playback System 10, whichdetermines if these files are in a format incompatible with the MediaOrganizer.

The Media Playback System 10 creates a proxy file (e.g., Proxy File 1,Proxy File 2, Proxy File 3 shown in FIG. 1) based on the informationobtained from parsing the Media File. According to an embodiment of thepresent invention, the parsing may be performed by incorporatingsoftware routines that recognize the file format of the media file basedon file extension or contents of the file. For example, afterdetermining the file is a DSD format file, such files contain astandardized header from which information about sample rate, mediaduration and other characteristics needed to construct the proxy filecan be obtained. The proxy file is created in a format recognizable(i.e., compatible) with the Media Organizer, and accordingly, the proxyfile is added to the Media Organizer library (shown as the “StorageMedia” in FIGS. 1 and 3) by the Media Playback System 10—designated by aentry in the Storage Media which corresponds to the proxy file. To theuser, the proxy file is indistinguishable (or nearly indistinguishable)from the original media file, apart from the physical location of theoriginal media file, and the data bit rate (which, as a highlycompressed file containing silence or a highly compressed version of theoriginal audio, is a fraction of that of the original). Thecharacteristics, format and make-up of the proxy file (collectivelyreferred to as the “proxy file information”) according to embodiments ofthe present invention are described in detail below. According to anembodiment of the present invention, the proxy file information mayinclude, but is not limited to, a proxy file directory location andname, proxy file tags or silence within the proxy file. One havingordinary skill in the art will appreciate that the creation of the proxyfile may be performed by a separate application/program communicativelyconnected to the Media Playback System 10. According to an embodiment ofthe present invention, a data bit rate of the proxy file issubstantially less than that of a data bit rate of the media file. Forexample, according to an embodiment of the present invention, the databit rate of the proxy file may be less than 10 percent of the data bitrate of the media file.

According to an embodiment of the present invention and referring toFIG. 2, after downloading or otherwise obtaining a FLAC file (or otherincompatible Media File(s)), the user directs the Media Playback System10 to attempt to open the particular Media File via interaction with auser interface associated with the Media Playback System 10. The MediaPlayback System 10 determines if the selected one or more Media Filesare of a format incompatible with the Media Organizer. This and thefollowing functions of the present invention also could be incorporatedinto a separate application designed only to create the proxy files, butfor convenience to the user this function is incorporated into the MediaPlayback System 10.

According to an embodiment of the present invention, the Media PlaybackSystem 10 scans a communicatively connected storage media to locate aproxy file that corresponds to the selected media file (i.e., the mediafile the user wishes to play). If no such proxy file is located, theMedia Playback System 10 creates a corresponding proxy file in a formatthat is compatible with the Media Organizer. One exemplary method ofcreating the proxy file involves the Media Playback System 10determining media file information comprising parameters associated withthe original media file, such as, for example, a sample rate, sampleword length and file duration, and tag information (i.e., any embeddedinformation “tags” such as artist and album information). The resultingproxy file has the same parameters as the original Media File (althoughsince the audio data in the proxy file comprises silence or a silentdata block or a highly compressed data block, a duplication of thesample word length format is unnecessary). In addition, the resultingproxy file may have varying degrees of compression based on the selectedfile format. For example, the data bit rate of the proxy file may beapproximately 10% of the data bit rate of the corresponding media file.The newly created proxy file is recognizable by the Media Organizer andcan be loaded into the Media Organizer's library, which advantageouslyrepresents the library that is typically used most frequently by theuser.

According to an embodiment of the present invention, the process ofadding the proxy file to the Media Organizer can be automated. This maybe done, for example, via high level communication protocols (such asAppleScript) to command the Media Organizer to incorporate proxy filesinto its database or library. One having ordinary skill in the art willrecognize that a variety of existing software applications (such asthird party software or those incorporated in the computer's operatingsystem) can be utilized. In addition, according to an embodiment of thepresent invention, the process depicted in FIG. 2 may be automated byemploying a system to monitor when new media files are created, and whena new media file is detected of an incompatible type. For example a“watch” folder can be monitored by the Media Playback System 10 and ifused as the destination for media file downloads, the Media PlaybackSystem 10 may automatically create new proxy files and add them to theMedia Organizer when the Media Playback System 10 detects the presenceof any newly added media files in the watch folder.

According to embodiments of the present invention, as noted above, theproxy file is generated in a file format recognizable by the MediaOrganizer. Therefore, with reference to the example shown in FIG. 1, theMedia Organizer is able to recognize and load Media File 2 because thecorresponding Proxy File 2 is in a format that is compatible with MediaOrganizer. Referring again to FIG. 1, the original media file (e.g.,Media File 2) cannot be loaded into the Media Organizer because the fileis in an incompatible format, as illustrated in step 100. Accordingly,in step 200, the Media Organizer database/library catalog entry forProxy File 2 is displayed or presented to the user by Media Organizer,and refers to Proxy File 2. Next, in step 300, the Media Playback System10 polls the Media Organizer (step 300) to obtain the proxy fileinformation associated with the currently selected track. According toan embodiment of the present invention, the polling process may involvethe Media Organizer actually playing the proxy file for a short periodof time. According to an embodiment of the present invention, thepolling step uses high level system calls between the Media Organizerand the Media Player 20, and may occur frequently (e.g., numerous timesper second). Based on the proxy file information obtained from the MediaOrganizer, the Media Playback System 10 recognizes the file as a proxyfile, locates the underlying Media File (which is in a format compatiblewith the Media Playback System 10), and decodes and plays the MediaFile.

In the example shown in FIG. 1, the Media Playback System 10 locatesMedia File 2 which is associated with Proxy File 2, in step 400, andprovides the identified media file to the Media Playback System 10. TheMedia Playback System 10 can then play Media File 2, in step 500.Therefore, the Media Organizer acts as the vehicle to “load” the mediafile based on the corresponding proxy file (in step 200) while the MediaPlayback System 10 plays the actual media file (in steps 400 and 500).The described arrangement avoids the disadvantage of needing asignificant amount of duplicate storage space for converting theincompatible file (e.g., a FLAC file) into another format and storingthe converted file, because the proxy file is only a very small fractionof the size of the original media file.

According to embodiments of the present invention, the proxy file actsas a pointer to the original media file containing the original digitalasset(s). The proxy file contains all or a subset of the sameinformation contained in the media file except the actual digitalcontent (music, video, etc.). Based on the proxy file informationcontained in and extracted from the proxy file, the Media PlaybackSystem 10 is able to locate the physical media file for playback. Theformat of the proxy file is chosen as one compatible with the MediaOrganizer, so the Media Organizer is able to load it. Many differentfile formats may be used for this purpose, including without limitation,Direct Stream Digital (DSD) (e.g., .dff extension files or .dsfextension files), M4A, MP3, WMA, AAC (as indicated by file extensionused for identification by software). By way of example and notlimitation, the proxy file can also contain all of the identificationinformation and “tags” present in the original Media File, for thebenefit of Media Organizer, which can display this information. TheMedia Organizer is able to load the information contained in the proxyfile into the Media Organizer library or track list, which then appearas regular (i.e., accessible) media files or tracks to the user. TheMedia Organizer provides a convenient way for a user to quickly view andsort the music library and view information about albums and artists.

According to an embodiment of the present invention, the proxy file alsocontains a digital media track of the same length (duration) and sampleformat (sample rate) as the original Media File, but includes a silentdata block (i.e., zeroes). According to an alternative embodiment of thepresent invention, the content of the proxy file also may contain ahighly compressed, low fidelity version of the original digital media.As far as the Media Organizer is concerned, the proxy file contains thesame content as the original, incompatible media file, except thatactual playback results in silence or null output (e.g., a blank screenin the case of video; or, as in the case of an alternative embodiment, alow-fidelity version of the original). The reason the proxy filecontains silence is because such files can be compressed veryefficiently, thereby reducing the storage size of the proxy file to avery small fraction (less than one hundredth) of the size of theoriginal Media File. The presence of the silent data block or highlycompressed data block (e.g., highly compressed audio or video) also isnecessary to cause the file to appear the same (in terms of playbackduration) as the actual Media File to the Media Organizer.

In an alternative embodiment of the invention, suitably formatted proxyfiles could be distributed along with or separately from the MediaFiles, either by download or including, without limitation, to physicaldisk, memory stick, flash memory or other media. Such proxy files wouldbe substantially similar or identical to the proxy files created by theMedia Playback System 10. One exemplary incentive for doing this wouldbe one of user convenience. Instead of the user having to use the MediaPlayback System 10 to create the proxy files, the user may simply openthe proxy files in the Media Organizer, thereby adding them to itslibrary or playlist. The proxy files, by virtue of their relativephysical location to the Media Files (or via embedded location tags),would automatically point to the Media Files, directing the MediaPlayback System 10 in locating them.

According to an embodiment of the present invention, the proxy filesmay, as described above, point to Media Files located on (and including,without limitation) a remote storage device accessible via a network.Further, the Media Organizer may be designed to automatically recognizesuch proxy files, using them for locating the actual Media Files,without having to actually load the Media Files themselves in itslibrary or playlist. Here, instead of silence, a highly compressedversion of the content in the Media Files could be incorporated in theproxy files, for low fidelity playback or preview of the content of theoriginal Media Files, should the latter be temporarily inaccessible (forexample, if the network where the Media Files were located wasdisconnected or otherwise unavailable).

One having ordinary skill in the art will recognize that the proxy fileformat can be chosen from a wide variety of file formats employingvarious degrees of compression, such as, for example, Apple Lossless,AAC, MP3, 3GP. The Media Playback System 10 then queries the MediaOrganizer for information about the selected Media Track. The MediaTracks appear to the Media Organizer to be essentially identical to theoriginals as far as tag information, sample rate and duration areconcerned. This information also facilitates the Media Playback System10 in reserving the necessary amount of memory and performing othersteps required in preparation for playing the file. The steps taken inpreparation would essentially be identical to those required for theoriginal Media File. In fact, the only operation that would be differentfor the Media Player 20 compared to playing Media Files withoutresorting to the proxy method is that instead of loading the proxy file,the original Media File is loaded into and played by the Media Player 20(steps 400 and 500 in FIG. 1). The proxy file also could containoptional information, including without limitation, track fadeinformation, volume adjustment level, track grouping, track order,equalization settings.

Other types of “alias” pointer files are unable to overcome the problemsaddressed by embodiments of the present invention because they simply“point” to the physical location of the incompatible file type and arenot recognized as compatible file types by Media Organizer (because theyare resolved by the computer operating system as being exactly the samefile as the original). Therefore, the proxy files used according tovarious embodiments of the present invention overcome this problem bybeing fully compatible with the Media Organizer.

FIG. 1 shows a possible arrangement and relationship between theoriginal incompatible media files (labeled Media Files 1-3) and theproxy format files. Here, the Proxy Files are located in a subdirectorylocated hierarchically one level below the original Media Files (labeledProxy Files 1-3). The Media Playback System 10 can then efficientlylocate the original Media Files based on directory relationship.According to an embodiment of the present invention, the proxy files andthe original Media Files have identical file names except for the fileformat extension required by the computer operating system.

The proxy files may be located anywhere on the computer file storagesystem or network, provided that the Media Playback System 10 is able insome way to determine the relationships between the physical locationsof the original Media Files (e.g., Media Files 1-3) and the proxy files(e.g., Proxy Files 1-3). For example, instead of being located in asubdirectory as depicted in FIG. 1, the proxy files could be located ina separate directory and organized in a way (such as located inappropriately named subdirectories) enabling the Media Playback System10 to locate the original Media Files.

According to an embodiment of the present invention and referring toFIG. 3, the proxy files can act as indices or pointers delineatingsubsets or individual tracks contained within a single Media File. Thisis particularly useful when, for example, a particular musicalcomposition is presented as one larger continuous recording as in thecase of an orchestral recording. While one proxy file could containinformation about the larger recording, other proxy files can be createdwhich refer to discrete segments of the larger recording. For example,Track 2 of the Media File, as illustrated in FIG. 3, could be delineatedby a time offset from the beginning of the larger recording. As in otherembodiments of the present invention, the Media Playback System 10obtains information concerning Track 2's location within the Media Fileby querying the Media Organizer, as described herein. By querying theMedia Organizer and reading Track 2's corresponding proxy file (i.e.,Proxy File 2), the Media Playback System 10 can determine that Track 2refers to a segment of the larger Media File. The Media Playback System10 can then use tag or pointer information stored in Track 2'scorresponding proxy file (Proxy File 2) to determine the time offset andallow the user to jump directly to the musical segment of Media FileTrack 2.

According to an embodiment of the present invention and referring toFIG. 4, a Media Track Edit List which contains the offsets and durations(as well as other information, including without limitation, track fadeinformation, volume playback level, track order, equalization settings)is used in conjunction with the format (such as sample rate, resolutionor word length) of the original Media File to create proxy filespointing to the tracks in the Media File. Similar to that shown in FIG.2, the proxy files are then added to the Media Organizer softwarelibrary where they are made accessible to the user.

According to an embodiment of the present invention, instead ofcontaining silence or blank video (for example), the proxy file couldcontain a highly-compressed version or short portion of the digitalcontent from the original Media File. Advantageously, the Proxy Filecould be used as a “guide” file that could be played directly by theMedia Organizer but at a reduced fidelity level (which would permitusing a large amount of file compression). In such a case, “lossy”compression as well as word length reduction could be used, since thegoal is to create a guide file where efficiency of compression is ofprimary importance and fidelity of low importance.

According to an embodiment of the invention and referring to FIGS. 1, 3and 5, a user selects a media file to play within the Media Organizervia a standard interaction (e.g., clicking on a track listing). Inresponse, the Media Organizer automatically begins playing thecorresponding proxy file. The Media Playback System 10 queries the MediaOrganizer and is able to determine that a proxy file is being opened bythe Media Organizer. The determination of whether a proxy file is beingplayed is made based on information gathered during polling stateinformation of the Media Organizer, such as directory information forthe proxy file and silent output from the proxy file. If the MediaPlayback System 10 determines that a proxy file is being played, theMedia Playback System 10 automatically resolves the physical location ofthe incompatible file type (or primary Media File and its associatedTrack) represented by the proxy file. The Media Playback System 10 thendirectly decodes and plays the original Media File (or portion thereof).If the file opened by the Media Organizer is not a proxy file, the userhas the option of playing the Media File in either the Media Organizeror the Media Playback System 10 based on individual preference.

An illustration of an embodiment of the invention is shown in FIGS. 6-9.With reference to FIG. 6, a directory containing incompatible MediaFiles is shown (here, FLAC Audio Files). These files cannot be loadedinto the Media Organizer 1400 (here, for purposes of illustration,Apple, Inc.'s iTunes®). In the next step, referring to FIG. 7, the useropens the Media Files (e.g., the list of Media Files 1000) in the MediaPlayer 1300. This can be done by a commonly accepted procedure wellknown to those possessing ordinary skill in the art, such as, forexample, dragging (indicated by shadowed depiction 1100) the Media Files1000 to the proxy creation window 1200 which is part of the Media Player1300.

The result of the creation of proxy files is depicted in FIGS. 8 and 9.FIG. 8 shows the parent directory containing the incompatible MediaFiles 1500. A subdirectory 1600 created by the Media Playback System 10contains the generated Proxy Files 1700. One having ordinary skill inthe art will appreciate that on the Apple® Macintosh computer operatingsystem, the subdirectory may appear as a single, monolithic file or“package,” whose contents only can be examined by the user via employinga special command (“Show Package Contents”). This particular feature iswell known to many users of the Apple® Macintosh operating system.Important to note is that the Proxy Files are much smaller than theiroriginal counterparts, despite being nearly indistinguishable from theoriginals (aside from incompatibility) by the Media Organizer. Forexample, Track 1 original size is ca. 113 MB, whereas the proxy versionis only ca. 307 kB, more than a factor of 300 smaller. Similar amountsof compression factors are apparent for the other tracks. The largecompression factors are a result of having silence of the same durationas the original audio, instead of the original audio itself. Silencecompresses very efficiently, as is known to one of ordinary skill in theart.

Finally, as shown in FIG. 9, the generated proxy files are organized anddisplayed in a “playlist” in the Media Organizer, showing trackinformation including the sample rate of the original high-resolutiondigital tracks. According to an embodiment of the present invention, thetracks are intended, as much as is practical to accomplish, to beindistinguishable by the user from the original Media Files (ordesignated tracks pointed to in a single Media File). As would beexpected, the displayed “Bit Rate” reflects the highly compressed sizeof the proxy files, which are silent (containing compressed audiosamples having an amplitude value of zero) but otherwise equivalent tothe original Media Files (as much as possible or practical) in duration,sample rate and other characteristics.

Although the embodiments of the present invention are describe above inthe context of a media file that is incompatible with the mediaorganizer, one having ordinary skill in the art will appreciate thatadditional embodiments are within the scope of the present invention,including, but not limited to, embodiments wherein the target media fileis compatible with the media organizer. In such embodiments, the MediaPlayback System 10 may be configured to operate as described in detailabove, with the associated processing steps including selection of mediafile that is compatible with the media organizer, but for which playbackis desired via the Media Playback System 10.

It is to be understood that the exemplary embodiments are merelyillustrative of the invention and that many variations of theabove-described embodiments may be devised by one skilled in the artwithout departing from the scope of the invention. It is thereforeintended that all such variations be included within the scope of thefollowing claims and their equivalents.

1. A method for playing a media file in a format that is incompatiblewith a media organizer, the method comprising the steps of: detecting aselection of a proxy file associated with a media file, wherein theselection is communicated via the media organizer; polling the mediaorganizer for proxy file information; locating the media file associatedwith the proxy file based on the proxy file information; and playing themedia file.
 2. The method of claim 1 further comprising: determining themedia organizer is playing a proxy file; and directing the mediaorganizer to terminate playback of the proxy file.
 3. The method ofclaim 1, wherein the media file is stored on a user's device.
 4. Themethod of claim 1, wherein the media file is stored on a remote devicecommunicatively connected to a user's device.
 5. The method of claim 1further comprising locating a track of the media file associated withthe proxy file.
 6. The method of claim 1, wherein the proxy filecomprises a silent data block.
 7. The method of claim 6, wherein thesilent data block comprises a length and sample rate equal to that ofthe media file.
 8. The method of claim 1, wherein the proxy filecomprises a highly compressed data block.
 9. The method of claim 1,wherein the proxy file is in a format compatible with the mediaorganizer.
 10. The method of claim 1, wherein the media organizer isiTunes®.
 11. The method of claim 1, wherein the media file comprises aplurality of tracks comprising a first track and a second track, andwherein a proxy file is associated with each of the plurality of tracks.12. The method of claim 11 further comprising determining a time offsetof the second track relative to the first track.
 13. A method forplaying a media file in a format that is incompatible with a mediaorganizer, the method comprising the steps of: parsing a media file toidentify media file information; generating a proxy file compatible withthe media organizer based on the media file information; detecting aselection of the proxy file associated with the media file, wherein theselection is communicated via the media organizer; polling the mediaorganizer for proxy file information; locating the media file associatedwith the proxy file based on the proxy file information; and playing themedia file.
 14. The method of claim 13, wherein the proxy file comprisestag information associated with the media file.
 15. The method of claim13 further comprising identifying proxy file associated with theuser-selected media file.
 16. The method of claim 13 further comprisingadding the proxy file to the library associated with the mediaorganizer.
 17. The method of claim 13, wherein the generating stepcomprises determining one or more of a sample rate, a sample wordlength, a duration, and tag information.
 18. A non-transitory computerreadable medium having stored thereon a plurality of instructions, theplurality of instructions including instructions that, when executed bya processor, cause the processor to perform the steps of a method forplaying a media file in a format that is incompatible with a mediaorganizer, said method comprising the steps of: detecting a selection ofa proxy file associated with a media file, wherein the selection iscommunicated via the media organizer; polling the media organizer forproxy file information; locating the media file associated with theproxy file based on the proxy file information; and playing the mediafile.
 19. A media file playback system configured to play a media filein a format that is incompatible with a media organizer comprising: oneor more computer modules communicatively connected to the mediaorganizer and a storage media, the one or more computer modulesconfigured to: detect a selection of a proxy file associated with amedia file, wherein the selection is communicated via the mediaorganizer; poll the media organizer for proxy file information; locatethe media file associated with the proxy file in the storage media basedon the proxy file information; and play the media file.
 20. A media fileplayback system configured to play a media file in a format that isincompatible with a media organizer, the media file playback systemcomprising: one or more computer modules communicatively connected tothe media organizer and a storage media, the one or more computermodules configured to: parse a media file to identify media fileinformation; generate a proxy file compatible with the media organizerbased on the media file information; add the proxy file to the storagemedia associated with the media organizer; detect a selection of theproxy file associated with the media file, wherein the selection iscommunicated via the media organizer; poll the media organizer for proxyfile information; locate the media file associated with the proxy filebased on the proxy file information; and play the media file.